import request from '@/utils/request.ts'
import lodash from 'lodash'

const baseURL = '/account'

/**
 * @name 登录
 * @description 用户名或用户id或手机号登录
 */
function login(data: any) {
  return request({
    method: 'POST',
    url: `${baseURL}/login`,
    data
  })
}

/**
 * @name 注册
 * @description 前端需要做一次参数校验
 */
function register(data: any) {
  if (data?.checkPassword) {
    data.checkPassword = ''
  }
  return request({
    method: 'POST',
    url: `${baseURL}/register`,
    // 把空字段过滤掉
    data: lodash.pickBy(data, item => item)
  })
}

/**
 * @name 判断注册信息接口
 * @description 对关键信息判重,对邮箱和电话号码正则判断，建议前端也做一次
 */
function checkUserInf(data: any) {
  return request({
    method: 'POST',
    url: `${baseURL}/checkUserInf`,
    // 把空字段过滤掉
    data: lodash.pickBy(data, item => item)
  })
}

/**
 * @name 注销
 * @description 不用参数
 */
function logout() {
  return request({
    method: 'POST',
    url: `${baseURL}/logout`
  })
}

/**
 * @name 修改密码
 * @description 需要用户id和用户新密码和用户旧密码
 */
function updatePassword(data: any) {
  return request({
    method: 'POST',
    url: `${baseURL}/updatePassword`,
    data
  })
}

export default {
  login,
  register,
  checkUserInf,
  logout,
  updatePassword
}
